Transport layer

Back to ece358

Services

IP protocols:

Multiplexing

UDP checksum

Reliable Data Transfer

Stop-and-wait

Performance

Go-back-\(N\)

Selective Repeat

Performance (assuming no errors)

Say \(T_x\) and \(R_x\) have agreed on a window size \(W\), and \(L\) is the frame size. Then, if \(t_T\) is the total elapsed time to send a data frame and receive a corresponding ack, then the sender will send:

Maximum window size:
\[W_{max} = \frac{t_I}{t_t} = \frac{\underbrace{\frac{L}{C} + RTT}_\text{period of time considered}}{\underbrace{\frac{L}{C}}_\text{transmission time of one segment}}\]

Throughput = utilization \(*\) link rate

TCP

Segment structure

width: 32 bits
Source port # Dest port #
Sequence number
acknowledgement number
head len not used `U A P R S F` receive window
checksum Urg data pointer
options (variable length)
application data (variable length)

Estimating round trip time

Round trip time estimate

RDT

Sender events

Initialization:

  1. Data received from app
  2. Timeout
  3. Ack received

Fast retransmission

Flow control

Connection management

Handshake:

Simple 2-way handshake won't work:

Use a 3-way handshake instead:

Congestion Control

TCP protocol